package com.xiaowu.house.config.service;

import com.xiaowu.house.config.domain.dto.*;
import com.xiaowu.house.config.domain.vo.DictionaryDataVo;
import com.xiaowu.house.config.domain.vo.DictionaryTypeVO;
import com.xiaowu.house.domain.vo.BasePageVO;

import java.util.List;
import java.util.Map;

public interface ISysDictionaryService {
    Long addType(DictionaryTypeWriteReqDTO dictionaryTypeWriteReqDTO);

    BasePageVO<DictionaryTypeVO> listType(DictionaryTypeListReqDTO dictionaryTypeListReqDTO);

    Long editType(DictionaryTypeWriteReqDTO dictionaryTypeWriteReqDTO);

    Long addData(DictionaryDataAddReqDTO dictionaryDataAddReqDTO);

    Long editData(DictionaryDataEditReqDTO dictionaryDataEditReqDTO);

    BasePageVO<DictionaryDataVo> listData(DictionaryDataListReqDTO dictionaryDataListReqDTO);

    List<DictionaryDataDTO> selectDictDataByType(String typeKey);

    Map<String, List<DictionaryDataDTO>> selectDictDataByTypes(List<String> typeKeys);

    DictionaryDataDTO getDicDataByKey(String dataKey);

    List<DictionaryDataDTO> getDicDataByKeys(List<String> dataKeys);
}
